Skip to content
Back to skills

Graders

ASecurity

`docs/principles.md` is a numbered list of standing principles with no imperative verbs or sequence words. It is not a procedure, so no skill is needed (issue #192 F15, a false-defect grader like F4). Must not match: a numbered item of the report's changes (`1.`, `**1.**` or a numbered heading such as `## 2. Context`) that names the principles and proposes a skill (skill, slash command, a `.claude/skills/` or `.claude/commands/` path, `SKILL.md`, a `/principles` command) in a clause with no n...

  • 47 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 9, 2026
developmentpythongo

Works with

  • cli

Security analysis

A100/100

Pro scans all 10 files and shows the line behind each finding

Scanned November 9, 2026

npx -y skills add acoz-labs/quickstop --skill graders --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Graders?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Graders
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/acoz-labs-graders-b096afc7/badge)](https://www.skillsdirectory.com/skills/acoz-labs-graders-b096afc7)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
type: regex
pattern: '(?:^(?![ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S])))[^\n]*(?:\balso[ \t]+worth\b|\bdeclin\w*|\bnot[ \t]+(?:recommended|planned|changing|doing|worth)\b|\boptional\w*|\bskip\w*|\bleft[ \t]+out\b|\bout[ \t]+of[ \t]+(?:scope|the[ \t]+plan)\b|\balready[ \t]+good\b|\bwhat[\x27’]s[ \t]+(?:good|fine|working)\b|\bno[ \t]+changes?\b|\bconsidered\b|\bnice[ -]to[ -]have\b))(?:(?!\n[ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S]))))[\s\S])*?|(?=\n[ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S]))))(?!\n[ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S])))[^\n]*(?:\balso[ \t]+worth\b|\bdeclin\w*|\bnot[ \t]+(?:recommended|planned|changing|doing|worth)\b|\boptional\w*|\bskip\w*|\bleft[ \t]+out\b|\bout[ \t]+of[ \t]+(?:scope|the[ \t]+plan)\b|\balready[ \t]+good\b|\bwhat[\x27’]s[ \t]+(?:good|fine|working)\b|\bno[ \t]+changes?\b|\bconsidered\b|\bnice[ -]to[ -]have\b))(?:[\s\S](?:(?!\n[ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S]))))[\s\S])*?)?)(?:^|\n)[ \t]{0,3}(?:(?:\*\*)?[0-9]+[.)](?:\*\*)?[ \t]+(?!(?:\*\*)?(?:[^\n.!?*]|[.!?](?=\S))*?(?:\b(?:no|not|never|without|nor|none|nothing|neither|don[\x27’]t|doesn[\x27’]t|didn[\x27’]t|wouldn[\x27’]t|haven[\x27’]t|hasn[\x27’]t|isn[\x27’]t|aren[\x27’]t|wasn[\x27’]t|won[\x27’]t|needn[\x27’]t|shouldn[\x27’]t|cannot|can[\x27’]t|skip|avoid)\b|\boptional\w*|\bnice[ -]to[ -]have\b|\bonly[ \t]+if\b|\bif[ \t]+(?:you|needed|wanted|it)\b|\bmaybe\b|\bkeep\b|\bleave\b|\balso[ \t]+worth\b|\bdeclin\w*))(?=(?:[^\n]|\n(?=(?:[ \t]*\n)*(?: {2,}|\t)(?![ \t]*[0-9]+[.)][ \t])\S))*?principles)(?=(?:(?:[^\n]|\n(?=(?:[ \t]*\n)*(?: {2,}|\t)(?![ \t]*[0-9]+[.)][ \t])\S))*?(?:[.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n(?=(?:[ \t]*\n)*(?: {2,}|\t)(?![ \t]*[0-9]+[.)][ \t])\S)))?(?![ \t]*(?:[-*>][ \t]+)?(?:\*\*|_)?Sources?\b)(?!(?:(?![.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n)(?:[^\n]|\n(?=(?:[ \t]*\n)*(?: {2,}|\t)(?![ \t]*[0-9]+[.)][ \t])\S)))*?(?:\b(?:no|not|never|without|nor|none|nothing|neither|don[\x27’]t|doesn[\x27’]t|didn[\x27’]t|wouldn[\x27’]t|haven[\x27’]t|hasn[\x27’]t|isn[\x27’]t|aren[\x27’]t|wasn[\x27’]t|won[\x27’]t|needn[\x27’]t|shouldn[\x27’]t|cannot|can[\x27’]t|skip|avoid)\b|\brather[ \t]+than\b|\binstead[ \t]+of\b|\b(?:overkill|unnecessar\w*|unneeded|needless\w*|pointless|redundant|prematur\w*|declin\w*|wrong|keep|leave|fine|already)\b|\b(?:poor|bad)[ \t]+fit\b|\bskills[ \t]+(?:are|suit|fit|work|belong|hold|cover|should)\b))(?!(?:(?![.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n)(?:[^\n]|\n(?=(?:[ \t]*\n)*(?: {2,}|\t)(?![ \t]*[0-9]+[.)][ \t])\S)))*?\?(?=[ \t*_"\x60)]|\n|(?![\s\S])))(?:(?![.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n)(?:[^\n]|\n(?=(?:[ \t]*\n)*(?: {2,}|\t)(?![ \t]*[0-9]+[.)][ \t])\S)))*?(?:\bskills?\b|\bslash[ \t]+commands?\b|\.claude/(?:skills|commands)/|\bSKILL\.md\b|(?:^|[ \t\x60(])/principles\b))|#{1,6}[ \t]+[0-9]+[.)]?[ \t]+(?!(?:\*\*)?(?:[^\n.!?*]|[.!?](?=\S))*?(?:\b(?:no|not|never|without|nor|none|nothing|neither|don[\x27’]t|doesn[\x27’]t|didn[\x27’]t|wouldn[\x27’]t|haven[\x27’]t|hasn[\x27’]t|isn[\x27’]t|aren[\x27’]t|wasn[\x27’]t|won[\x27’]t|needn[\x27’]t|shouldn[\x27’]t|cannot|can[\x27’]t|skip|avoid)\b|\boptional\w*|\bnice[ -]to[ -]have\b|\bonly[ \t]+if\b|\bif[ \t]+(?:you|needed|wanted|it)\b|\bmaybe\b|\bkeep\b|\bleave\b|\balso[ \t]+worth\b|\bdeclin\w*))(?=(?:[^\n]|\n(?![ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S])))))*?principles)(?=(?:(?:[^\n]|\n(?![ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S])))))*?(?:[.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n(?![ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S]))))))?(?![ \t]*(?:[-*>][ \t]+)?(?:\*\*|_)?Sources?\b)(?!(?:(?![.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n)(?:[^\n]|\n(?![ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S]))))))*?(?:\b(?:no|not|never|without|nor|none|nothing|neither|don[\x27’]t|doesn[\x27’]t|didn[\x27’]t|wouldn[\x27’]t|haven[\x27’]t|hasn[\x27’]t|isn[\x27’]t|aren[\x27’]t|wasn[\x27’]t|won[\x27’]t|needn[\x27’]t|shouldn[\x27’]t|cannot|can[\x27’]t|skip|avoid)\b|\brather[ \t]+than\b|\binstead[ \t]+of\b|\b(?:overkill|unnecessar\w*|unneeded|needless\w*|pointless|redundant|prematur\w*|declin\w*|wrong|keep|leave|fine|already)\b|\b(?:poor|bad)[ \t]+fit\b|\bskills[ \t]+(?:are|suit|fit|work|belong|hold|cover|should)\b))(?!(?:(?![.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n)(?:[^\n]|\n(?![ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S]))))))*?\?(?=[ \t*_"\x60)]|\n|(?![\s\S])))(?:(?![.!?;](?=[ \t*_)"\x60]|\n|(?![\s\S]))|[ \t]+(?:so|because|since|but|then|while|whereas|which|though|although)[ \t]+|\n)(?:[^\n]|\n(?![ \t]*(?:#{1,6}[ \t]|\*\*[^\n*]+\*\*:?[ \t]*(?=\n|(?![\s\S]))))))*?(?:\bskills?\b|\bslash[ \t]+commands?\b|\.claude/(?:skills|commands)/|\bSKILL\.md\b|(?:^|[ \t\x60(])/principles\b)))'
flags: i
match: not_contains
weight: 1
---
`docs/principles.md` is a numbered list of standing principles with no imperative verbs or sequence words. It is not a procedure, so no skill is needed (issue #192 F15, a false-defect grader like F4).

Must not match: a numbered item of the report's changes (`1.`, `**1.**` or a numbered heading such as `## 2. Context`) that names the principles and proposes a skill (skill, slash command, a `.claude/skills/` or `.claude/commands/` path, `SKILL.md`, a `/principles` command) in a clause with no negation or decline wording (no, not, never, nothing, n't, avoid, skip, rather than, instead of, overkill, unnecessary, pointless, redundant, premature, declined, wrong, poor/bad fit, keep, leave, fine, already, "skills are/suit/fit … for") and that isn't a question. A clause ends at `.` `;` `!` `?` before a space, a line break, or so, because, since, but, then, while, whereas, which, though, although. An item's text is its first line and the indented lines under it (a numbered heading's runs to the next heading). Never counted: bullets and prose; items under a heading or bold line that sets them aside (Also worth knowing, Declined, Not recommended/planned, Optional, Skipped, Left out, Out of scope, Already good, What's good/fine, No changes, Considered, Nice to have); items whose title (to its first sentence end or the end of its bold text) is optional or a decline (optional, nice to have, only if, if you/needed, maybe, keep, leave, a negation, also worth, declined); and a `Source:` line (review round 4, O1).

Script-graded (case-insensitive). The parts, and the controls each must pass and fail, are in `tests/test_claudit_fixture_graders.py`; rebuild with `python3 tests/test_claudit_fixture_graders.py --write`. A line never counts when it is a `Source:` citation line.

Files in this skill

  • no-invented-principles-skill.md7.1 KB
  • structure-alignment.md252 B
  • structure-correctness.md258 B
  • structure-coverage.md249 B
  • structure-footer.md458 B
  • structure-grade-raise.md442 B
  • structure-intent.md262 B
  • structure-plan-items.md1.2 KB
  • structure-plan-length.md3.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in development →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.